package com.yunxi.service.localService.sto;

import com.github.pagehelper.PageInfo;
import com.yunxi.core.service.IServicePlus;
import com.yunxi.model.sto.StoStockInPlan;
import com.yunxi.sto.pojo.*;
import java.lang.reflect.InvocationTargetException;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 车辆入库计划 服务类
 * </p>
 *
 * @author caoYong
 * @since 2019-05-17
 */
public interface StoStockInPlanService extends IServicePlus<StoStockInPlan> {

    void complete(StoStockScanVO stoStockScanVO) throws Exception;

    void saveAndUpdate(StoStockInPlanVO stoStockInPlanVO) throws Exception;

    void delAndReset(List<String> list, Integer isDel,String userId)throws Exception;

    PageInfo<StoStockInPlanResponseVO> findPageByVO(StoStockInPlanVO stoStockInPlanVO, Integer pageNum, Integer pageSize) throws InvocationTargetException, IllegalAccessException;

    PageInfo<StoStockInPlanLateVO> lateStockInPlan(StoStockInPlanLateVO stoStockInPlanLateVO,Integer pageNum, Integer pageSize) throws Exception;

    List<StoStockInPlanResponseVO> export(StoStockInPlanVO stoStockInPlanVO) throws Exception;

    String bindVehicleRfid(StoStockScanVO stoStockScanVO) throws Exception;

    void beginStockIn(StoStockScanVO stoStockScanVO) throws Exception;

    StoStockInPlanVO getDetailById(String id) throws Exception;

    void checkPlanStockInDate(Date date, Integer type) throws Exception;

    List<StoStockInOutReportListVO> stockInOutCount(String rfidNo)throws Exception;

    List<StoStockInPlanVO> planListByVin(String vin,String rfid)throws Exception;

}
